<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Disjoint Stable Set Problems - Formulations by Representatives and Combinatorial Solvers: ArrayvEBTree&lt; T &gt;::FilterIterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Disjoint Stable Set Problems - Formulations by Representatives and Combinatorial Solvers
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a></li><li class="navelem"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html">FilterIterator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">ArrayvEBTree&lt; T &gt;::FilterIterator Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="ArrayvEBTree_8h_source.html">ArrayvEBTree.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ArrayvEBTree&lt; T &gt;::FilterIterator:</div>
<div class="dyncontent">
<div class="center"><img src="classArrayvEBTree_1_1FilterIterator__inherit__graph.png" border="0" usemap="#ArrayvEBTree_3_01T_01_4_1_1FilterIterator_inherit__map" alt="Inheritance graph"/></div>
<map name="ArrayvEBTree_3_01T_01_4_1_1FilterIterator_inherit__map" id="ArrayvEBTree_3_01T_01_4_1_1FilterIterator_inherit__map">
<area shape="rect" id="node2" href="classDirectlyAddressedSet_1_1Iterator.html" title="A general iterator to scan a DirectlyAddressedSet." alt="" coords="5,6,155,53"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ArrayvEBTree&lt; T &gt;::FilterIterator:</div>
<div class="dyncontent">
<div class="center"><img src="classArrayvEBTree_1_1FilterIterator__coll__graph.png" border="0" usemap="#ArrayvEBTree_3_01T_01_4_1_1FilterIterator_coll__map" alt="Collaboration graph"/></div>
<map name="ArrayvEBTree_3_01T_01_4_1_1FilterIterator_coll__map" id="ArrayvEBTree_3_01T_01_4_1_1FilterIterator_coll__map">
<area shape="rect" id="node2" href="classDirectlyAddressedSet_1_1Iterator.html" title="A general iterator to scan a DirectlyAddressedSet." alt="" coords="5,121,155,167"/><area shape="rect" id="node4" href="classDirectlyAddressedSet.html" title="DirectlyAddressedSet\l\&lt; long \&gt;" alt="" coords="179,121,328,167"/><area shape="rect" id="node6" href="classDirectlyAddressedSet_1_1Iterator.html" title="A general iterator to scan a DirectlyAddressedSet." alt="" coords="179,6,328,53"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classArrayvEBTree_1_1FilterIterator-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad870d22713999534a7c8546328df53d0"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#ad870d22713999534a7c8546328df53d0">~FilterIterator</a> ()</td></tr>
<tr class="memdesc:ad870d22713999534a7c8546328df53d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor.  <a href="#ad870d22713999534a7c8546328df53d0"></a><br/></td></tr>
<tr class="memitem:a863e95227e516d893ab343f4c2a848ba"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a863e95227e516d893ab343f4c2a848ba">start</a> ()</td></tr>
<tr class="memdesc:a863e95227e516d893ab343f4c2a848ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start enumeration.  <a href="#a863e95227e516d893ab343f4c2a848ba"></a><br/></td></tr>
<tr class="memitem:a81140313b88b17698b0c48ee6dc3e560"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a81140313b88b17698b0c48ee6dc3e560">restart</a> ()</td></tr>
<tr class="memdesc:a81140313b88b17698b0c48ee6dc3e560"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart enumeration.  <a href="#a81140313b88b17698b0c48ee6dc3e560"></a><br/></td></tr>
<tr class="memitem:aa19b20129bbb3eb5878c10b94801e344"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#aa19b20129bbb3eb5878c10b94801e344">restartFrom</a> (long i)</td></tr>
<tr class="memdesc:aa19b20129bbb3eb5878c10b94801e344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart enumeration from a specified element.  <a href="#aa19b20129bbb3eb5878c10b94801e344"></a><br/></td></tr>
<tr class="memitem:accfed7e47b4c21d1bb189d2492930a36"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#accfed7e47b4c21d1bb189d2492930a36">hasNext</a> ()</td></tr>
<tr class="memdesc:accfed7e47b4c21d1bb189d2492930a36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if still there is a element in the set and in the filter not enumerated yet.  <a href="#accfed7e47b4c21d1bb189d2492930a36"></a><br/></td></tr>
<tr class="memitem:aa9b8e11902a867e96a84d5700a006f9f"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#aa9b8e11902a867e96a84d5700a006f9f">next</a> ()</td></tr>
<tr class="memdesc:aa9b8e11902a867e96a84d5700a006f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of the next element in the set according to the current enumeration.  <a href="#aa9b8e11902a867e96a84d5700a006f9f"></a><br/></td></tr>
<tr class="inherit_header pub_methods_classDirectlyAddressedSet_1_1Iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classDirectlyAddressedSet_1_1Iterator')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a></td></tr>
<tr class="memitem:aed6d9cffc7ce084fc3a4607ac9e7658d inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#aed6d9cffc7ce084fc3a4607ac9e7658d">~Iterator</a> ()</td></tr>
<tr class="memdesc:aed6d9cffc7ce084fc3a4607ac9e7658d inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor.  <a href="#aed6d9cffc7ce084fc3a4607ac9e7658d"></a><br/></td></tr>
<tr class="memitem:aec520a3f6d74fabb6d378051b070a22b inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#aec520a3f6d74fabb6d378051b070a22b">nextUpTo</a> (long to)=0</td></tr>
<tr class="memdesc:aec520a3f6d74fabb6d378051b070a22b inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerates the first key in the set next to the current cursor position up to a specified value.  <a href="#aec520a3f6d74fabb6d378051b070a22b"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:af2d018d04016ac88f295998f3c60eb1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#af2d018d04016ac88f295998f3c60eb1e">FilterIterator</a> (<a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt; *t, <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a>&lt; long &gt; *<a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a2544e72c3180595601612c00df601918">filter</a>)</td></tr>
<tr class="memdesc:af2d018d04016ac88f295998f3c60eb1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A constructor for a <a class="el" href="classArrayvEBTree_1_1Iterator.html" title="A generic iterator on the set of elements.">Iterator</a> over a specified <a class="el" href="classvEBTree.html">vEBTree</a>.  <a href="#af2d018d04016ac88f295998f3c60eb1e"></a><br/></td></tr>
<tr class="memitem:a09580d1762d868baf9c7560b0dad05e2"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a09580d1762d868baf9c7560b0dad05e2">bitLeast</a> (long idx, long slide, long h)</td></tr>
<tr class="memdesc:a09580d1762d868baf9c7560b0dad05e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the first bit 1 in the word of index idx in the vector of level h, after the specified position.  <a href="#a09580d1762d868baf9c7560b0dad05e2"></a><br/></td></tr>
<tr class="inherit_header pro_methods_classDirectlyAddressedSet_1_1Iterator"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classDirectlyAddressedSet_1_1Iterator')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a></td></tr>
<tr class="memitem:acc93f949a845d47f30ee6f6c75334577 inherit pro_methods_classDirectlyAddressedSet_1_1Iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#acc93f949a845d47f30ee6f6c75334577">Iterator</a> ()</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a2544e72c3180595601612c00df601918"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a>&lt; long &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a2544e72c3180595601612c00df601918">filter</a></td></tr>
<tr class="memdesc:a2544e72c3180595601612c00df601918"><td class="mdescLeft">&#160;</td><td class="mdescRight">the filter to enumeration  <a href="#a2544e72c3180595601612c00df601918"></a><br/></td></tr>
<tr class="memitem:a3290f66a583843bd013717ecbfc78ea8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a3290f66a583843bd013717ecbfc78ea8">ht</a></td></tr>
<tr class="memdesc:a3290f66a583843bd013717ecbfc78ea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">a copy of the target instance of <a class="el" href="classMultiLevelDirectlyAddressedSet.html#afed049ed58d442204d2e5d9c34491520" title="number of levels">vEBTree&lt;T&gt;::height</a>.  <a href="#a3290f66a583843bd013717ecbfc78ea8"></a><br/></td></tr>
<tr class="memitem:af0bb94fbb1f9be47012fddd2e605ff9d"><td class="memItemLeft" align="right" valign="top">T **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#af0bb94fbb1f9be47012fddd2e605ff9d">levels</a></td></tr>
<tr class="memdesc:af0bb94fbb1f9be47012fddd2e605ff9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">a copy to the levels in the tree.  <a href="#af0bb94fbb1f9be47012fddd2e605ff9d"></a><br/></td></tr>
<tr class="memitem:a71139b71eb257852585ef683f6d6626f"><td class="memItemLeft" align="right" valign="top">long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a71139b71eb257852585ef683f6d6626f">slides</a></td></tr>
<tr class="memdesc:a71139b71eb257852585ef683f6d6626f"><td class="mdescLeft">&#160;</td><td class="mdescRight">position inside the word, in each level.  <a href="#a71139b71eb257852585ef683f6d6626f"></a><br/></td></tr>
<tr class="memitem:a05a429cf7e6aeb3410ef1b8bfb9309b4"><td class="memItemLeft" align="right" valign="top">long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a05a429cf7e6aeb3410ef1b8bfb9309b4">idxs</a></td></tr>
<tr class="memdesc:a05a429cf7e6aeb3410ef1b8bfb9309b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">indexes, in each level of the words enumerated.  <a href="#a05a429cf7e6aeb3410ef1b8bfb9309b4"></a><br/></td></tr>
<tr class="memitem:a753eda77e9e53002362dc0959bdec716"><td class="memItemLeft" align="right" valign="top">long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a753eda77e9e53002362dc0959bdec716">lims</a></td></tr>
<tr class="memitem:a6b3b85b991ecc047b2a3c017e2b99c11"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a6b3b85b991ecc047b2a3c017e2b99c11">logb</a></td></tr>
<tr class="memitem:a14c2625401e346a77cea18c3e6719ac3"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a14c2625401e346a77cea18c3e6719ac3">word_size</a></td></tr>
<tr class="memdesc:a14c2625401e346a77cea18c3e6719ac3"><td class="mdescLeft">&#160;</td><td class="mdescRight">the size in bits of a word  <a href="#a14c2625401e346a77cea18c3e6719ac3"></a><br/></td></tr>
<tr class="memitem:a07814f37bc6104b5307dc30e2a68eea9"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a07814f37bc6104b5307dc30e2a68eea9">size</a></td></tr>
<tr class="memdesc:a07814f37bc6104b5307dc30e2a68eea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">the size of the <a class="el" href="classvEBTree.html">vEBTree</a> that is being enumerate, its a simple copy of the value t-&gt;<a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a07814f37bc6104b5307dc30e2a68eea9" title="the size of the vEBTree that is being enumerate, its a simple copy of the value t-&gt;size().">size()</a>.  <a href="#a07814f37bc6104b5307dc30e2a68eea9"></a><br/></td></tr>
<tr class="memitem:a8fa26e034afb5e8f376f1e211d62e0de"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a8fa26e034afb5e8f376f1e211d62e0de">current</a></td></tr>
<tr class="memdesc:a8fa26e034afb5e8f376f1e211d62e0de"><td class="mdescLeft">&#160;</td><td class="mdescRight">the current element in the enumeration  <a href="#a8fa26e034afb5e8f376f1e211d62e0de"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:adde8d9e53c72bd17d0d7f2cc4c5d0f52"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#adde8d9e53c72bd17d0d7f2cc4c5d0f52">ArrayvEBTree</a></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af2d018d04016ac88f295998f3c60eb1e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::FilterIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a>&lt; long &gt; *&#160;</td>
          <td class="paramname"><em>filter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A constructor for a <a class="el" href="classArrayvEBTree_1_1Iterator.html" title="A generic iterator on the set of elements.">Iterator</a> over a specified <a class="el" href="classvEBTree.html">vEBTree</a>. </p>
<p>Create a <a class="el" href="classArrayvEBTree_1_1Iterator.html" title="A generic iterator on the set of elements.">Iterator</a> to look up a specified <a class="el" href="classvEBTree.html">vEBTree</a>. The <a class="el" href="classArrayvEBTree_1_1Iterator.html" title="A generic iterator on the set of elements.">Iterator</a> enumerate all the elements in the set represented by the object passed as parameter.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>the specified tree.</td></tr>
    <tr><td class="paramname">filter</td><td>the filter to the correspondent enumeration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad870d22713999534a7c8546328df53d0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::~FilterIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a09580d1762d868baf9c7560b0dad05e2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::bitLeast </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>slide</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>h</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine the first bit 1 in the word of index idx in the vector of level h, after the specified position. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>the index of the word to be search.</td></tr>
    <tr><td class="paramname">slide</td><td>the especified position.</td></tr>
    <tr><td class="paramname">h</td><td>the height of the tree.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="accfed7e47b4c21d1bb189d2492930a36"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::hasNext </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine if still there is a element in the set and in the filter not enumerated yet. </p>
<p>This method determine if there is a element in the set and in the filter not enumerate yet. It look in all the leaf level of the tree using the information of the other levels.</p>
<p>We start the search in the word of the least enumerated element. If it has other bit 1 we return this value. If not we look in the upper level for the next non null word and so go on untill the top level where we make a serial search.</p>
<dl class="section return"><dt>Returns:</dt><dd>true if there is a element not enumerated yet that belongs to the set and the filter , and false otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="aa9b8e11902a867e96a84d5700a006f9f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::next </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Index of the next element in the set according to the current enumeration. </p>
<p>The next element in the current enumeration. The order is the natural order between the natural numbers.</p>
<dl class="section return"><dt>Returns:</dt><dd>the next element, if exists one; otherwise, a value greater or equal to the size of the universe. </dd></dl>

<p>Implements <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#ab3ef5a45f421b1f1b2875e60977aafc7">DirectlyAddressedSet::Iterator</a>.</p>

</div>
</div>
<a class="anchor" id="a81140313b88b17698b0c48ee6dc3e560"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::restart </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restart enumeration. </p>
<p>Restart the enumeration. It will lost all the current state and it will start over the enumeration.</p>
<p>Usually it is a simple call to <a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a863e95227e516d893ab343f4c2a848ba" title="Start enumeration.">start()</a>.</p>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a863e95227e516d893ab343f4c2a848ba" title="Start enumeration.">start()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#ae4eb65beabbaa126db89529f3d3e2f3a">DirectlyAddressedSet::Iterator</a>.</p>

</div>
</div>
<a class="anchor" id="aa19b20129bbb3eb5878c10b94801e344"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::restartFrom </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restart enumeration from a specified element. </p>
<p>Restart the enumeration. it will lost all the current state and it will start over from the smalest element in the set that is bigger or equal than the specified element.</p>
<p>If the specified element is not a element of the universe a error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">the</td><td>specified element </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#a1421c0a751aafa1de9cd0bed72bd2bdd">DirectlyAddressedSet::Iterator</a>.</p>

</div>
</div>
<a class="anchor" id="a863e95227e516d893ab343f4c2a848ba"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::start </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Start enumeration. </p>
<p>Initailize all the variables and start a enumeration of the elements in the set.</p>
<p>The variables idx and slide are set to zero and the initial word is set to be the first non null word. </p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="adde8d9e53c72bd17d0d7f2cc4c5d0f52"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a8fa26e034afb5e8f376f1e211d62e0de"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::current</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the current element in the enumeration </p>

</div>
</div>
<a class="anchor" id="a2544e72c3180595601612c00df601918"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a>&lt;long&gt;* <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::filter</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the filter to enumeration </p>

</div>
</div>
<a class="anchor" id="a3290f66a583843bd013717ecbfc78ea8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::ht</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>a copy of the target instance of <a class="el" href="classMultiLevelDirectlyAddressedSet.html#afed049ed58d442204d2e5d9c34491520" title="number of levels">vEBTree&lt;T&gt;::height</a>. </p>

</div>
</div>
<a class="anchor" id="a05a429cf7e6aeb3410ef1b8bfb9309b4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long* <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::idxs</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>indexes, in each level of the words enumerated. </p>

</div>
</div>
<a class="anchor" id="af0bb94fbb1f9be47012fddd2e605ff9d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T** <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::levels</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>a copy to the levels in the tree. </p>

</div>
</div>
<a class="anchor" id="a753eda77e9e53002362dc0959bdec716"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long* <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::lims</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6b3b85b991ecc047b2a3c017e2b99c11"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::logb</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a07814f37bc6104b5307dc30e2a68eea9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the size of the <a class="el" href="classvEBTree.html">vEBTree</a> that is being enumerate, its a simple copy of the value t-&gt;<a class="el" href="classArrayvEBTree_1_1FilterIterator.html#a07814f37bc6104b5307dc30e2a68eea9" title="the size of the vEBTree that is being enumerate, its a simple copy of the value t-&gt;size().">size()</a>. </p>

</div>
</div>
<a class="anchor" id="a71139b71eb257852585ef683f6d6626f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long* <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::slides</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>position inside the word, in each level. </p>

</div>
</div>
<a class="anchor" id="a14c2625401e346a77cea18c3e6719ac3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classArrayvEBTree.html">ArrayvEBTree</a>&lt; T &gt;::FilterIterator::word_size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the size in bits of a word </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>datastruct/<a class="el" href="ArrayvEBTree_8h_source.html">ArrayvEBTree.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Nov 11 2012 15:19:43 for Disjoint Stable Set Problems - Formulations by Representatives and Combinatorial Solvers by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>
